package org.example;

import org.example.Dao.ProductDao;
import org.example.Dao.ProductDaoImp;
import org.example.Interact.InteractionManager;
import org.example.Service.ProductService;
import org.example.Service.ProductServiceImp;

import java.util.Scanner;

/**
 * 主程序入口，启动商品管理系统。
 */
public class Main {
    public static void main(String[] args) {
        // 创建产品数据访问对象
        ProductDao productDao = new ProductDaoImp();

        // 创建产品服务对象，将数据访问对象传入
        ProductService productService = new ProductServiceImp(productDao);

        // 创建交互管理器对象，将产品服务对象传入
        InteractionManager interactionManager = new InteractionManager(productService);

        // 创建Scanner对象，用于接收用户输入
        Scanner scanner = new Scanner(System.in);

        // 主循环，处理用户输入和交互
        while (true) {
            // 显示菜单
            interactionManager.displayMenu();

            // 获取用户选择
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            // 处理用户选择
            interactionManager.processChoice(choice, scanner);
        }
    }
}
